Well, I asked an expert. The Apple II's 3.5 inch floppy drive was/is
GCR. I think I'm right in saying that the most you could put onto an
Amiga disc and it work on ALL Amigas was 837K and the Apple II could
store 1440K.
I talked to an old friend (she wrote Jaguar XJ220 on Amiga & ST
for example) and she explained the lengths she had gone to to
successfully produce a duplicable GCR master for an Amiga game. She had
to write it on a modified Atari Falcon drive. The first thing she did
was to find out how many bytes would fit onto each track and she would
use almost all of it.
She organised it so that when the drive moved 1 track out (data
ALWAYS went from inside to outside), the next sector sought would be
20-40% of a rotation away so it was faster and almost silent.
The Amiga WOULD read GCR files if put into GCR mode but without
changing the hardware (disc controller chip), it couldn't write it.
I should add that some Amiga drives could reliably store the data
raw. I think quite a few people 'discovered' this and thought that they
would get rich by patenting a trick to double the capacity of Amiga
discs with software. Sadly, it didn't work on them all.
I note that some third-party 'high density' floppy drives were produced and I think the A4000 drive WAS high density.
Just recently I read about the genius who made the C64s 1541 drive
load x12 faster using only software. One key discovery was that reads
from the floppy didn't have to be timed to the microsecond i.e. the:
wait_loop:
BVS wait-loop
i.e. the overflow of the 6510 was repurposed to detect reads.
When the overflow was cleared, it meant that there was a complete byte ready to be stored. Well, he used this:
loop
bvc loop
clv
lda $1c01
sta ($30),y
iny
bne loop
As I understand it, he had an outer-loop so in total, it ALWAYS read
2560 bytes in one go and transferred them as-is to the C64 itself. The
C64 then worked out where the first byte of the first sector was and
using some tables (about 2.5K of them)
Seems so incredibly sad that Commodore could almost certainly have
spent a bit longer and come up with something like this. If you think
about it, the C64 actually had more than 64K of RAM. The VIC chip had a
colour attribute map that only used bits 0-3 (I am guessing that in fact
it was 1024 nybbles) and so while not QUITE as fast, they could have
recouped that memory and mapped it to $c000 (for example).
I expect that the low speeds involved mean that impedance wasn't a
problem. My hat goes off to the designers of USB 3.0 but isn't it
interesting that it uses 8b/10b encoding.